class Point:
    count=0
    def __init__(self, x=0, y=0):
        self.x = x
        self.y = y
        Point.count +=1

    def __str__(self):
        return ("({},{})".format(self.x, self.y))

    def __del__(self):
        Point.count -= 1

    def move(self, delta_x, delta_y):
        self.__x += delta_x
        self.__y += delta_y


    @classmethod
    def get_count(cls):
        return cls.count

    @staticmethod
    def prtline():
        print('-'*20)

if __name__ == '__main__':
    print("before:")
    print(Point.get_count())
    Point.prtline()
    print("create 1st point:")
    p1 = Point(2,7)
    print(p1)
    print(Point.get_count())
    Point.prtline()
    print("create 2nd point:")
    p2 = Point(4,9)
    print(p2)
    print(Point.get_count())
    Point.prtline()
    print("delete 1st point:")
    del p1
    print(Point.get_count())


